<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//async 和 await (async可以将一个同步的方法改为异步方法, await具有阻塞功能变相把一个异步方法变成同步方法, await必须用在async方法中)
			//    var getData2 = async () => {
			//         console.log(2);
			//         return 'async data'
			//     }
			
			//     var test = async () => {
			//         console.log(1);
			//         var d = await getData2();
			//         console.log(d);
			//         console.log(3);
			//     }
			
			//     test(); //结果按顺序输出 1 2 3,说明await等待getData2方法执行完毕再往下执行(即自定义一个异步方法，使用await等待另一个异步方法执行完毕，此时异步方法变相成为了同步)
			
			
			
			async function testAsync() {
				return 'hello async'
			}
			
			let res = testAsync();   //返回的是一个promise对象 
			// 就可以这样调用
			// testAsync().then((value) => {
			// 	console.log(value)
			// })
			
			// 
			async function test(){
				try{
					const p = await testAsync();
				}catch(e){
					console.log(2323)
					//TODO handle the exception
				}
				console.log(p)
			}
			
			test()
		</script>
	</body>
</html>
